package com.ynet.middleground.contract.bean;

import java.io.Serializable;
import java.util.Map;

import javax.validation.constraints.NotBlank;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * @author liulx
 * @description 启动流程请求类
 * @date 2019-10-25 15:31
 */
@Data
@EqualsAndHashCode(callSuper = false)
@ApiModel(value = "启动流程请求类", description = "启动流程请求类")
public class StartProcessInstance implements Serializable {

    private static final long serialVersionUID = -1470403770137310503L;

    @ApiModelProperty(value = "流程定义KEY（模板ID）", notes = "流程定义KEY（模板ID）", required = true, dataType = "String")
    @NotBlank(message = "流程定义Key不能为空")
    private String processDefinitionKey;

    @ApiModelProperty(value = "关联业务Key\n一般是渠道系统自己的业务主键，用于关联业务和流程", notes = "关联业务Id", dataType = "String")
    private String businessKey;

    @ApiModelProperty(value = "自定义参数\n可存放业务信息，以及流程模板配置参数信息", notes = "自定义参数", dataType = "java.util.Map")
    private Map<String, Object> variables;

}
